// 了解 Buffer缓冲器：
// Buffer 是一个和数组类似的对象，不同是 Buffer 是专门用来保存二进制数据的

// Buffer 的特点：
    // 大小固定：在创建时就确定了，且无法调整
    // 性能较好：直接对计算机的内存进行操作
    // 每个元素大小为 1 字节（byte）

// 为什么需要介绍：

// 我们若是对字串频繁操作（追加内容）时，其实效率是很低的。
let str = "Hello ";
str += "zhangsan "; // 此处的每次字串拼接，都会在内存重新开辟空间
str += "lisi "; 
str += "wangwu "; 
str += "zhaoliu ";
console.log(str); 


// 使用buffer
const b1 = Buffer.alloc(10); // 分配内存空间 10个字节
console.log(b1); //<Buffer 00 00 00 00 00 00 00 00 00 00>
b1.write("zhangsan"); // 写入内容
console.log(b1); //<Buffer 7a 68 61 6e 67 73 61 6e 00 00>

console.log(b1[2]); // 输出的是10进制值

// 若write() 超出，者会被截取

b1.write("zhangcuishan"); // 写入内容
console.log(b1); //<Buffer 7a 68 61 6e 67 73 61 6e 00 00>
console.log(b1.toString());

//还有我们要注意的点是，中文问题
// 每个中文在Buffer类名占3个字节大小
const b2 = Buffer.alloc(12);
b2.write("张无忌");
console.log(b2);
console.log(b2.toString());
